package com.tsy.server.system.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 用户登录成功后的返回信息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "登录成功返回信息", description = "用户登录成功后返回的信息，包含token和用户信息")
public class UserLoginVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 访问令牌
     */
    @ApiModelProperty(value = "访问令牌", example = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ6aGFuZ3NhbiIsImlhdCI6MTYxNjEwNjM2MCwiZXhwIjoxNjE2NzExMTYwfQ.6XfkSSa0l7K6yBxJ-jKO4zqsw5Q6qH5xqG-9HQf9Td8")
    private String token;

    /**
     * 令牌前缀
     */
    @ApiModelProperty(value = "令牌前缀", example = "Bearer")
    private String tokenHead;

    /**
     * 用户当前组织ID
     */
    @ApiModelProperty(value = "用户当前组织ID", example = "1")
    private Long currentOrgId;

    /**
     * 当前工作空间ID
     */
    @ApiModelProperty(value = "当前工作空间ID", example = "g8H5NK")
    private String workSpaceId;

    /**
     * 用户信息
     */
    @ApiModelProperty(value = "用户信息")
    private UserInfoVO userInfo;

}